package com.huike.clues.domain;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.huike.common.core.domain.BaseEntity;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;


import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * 活动实体类，用于表示一个活动或事件的详细信息。
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
@ToString
public class Activity extends BaseEntity {
    // 唯一标识符，
    private Integer id;
    // 活动渠道
    private String channel;
    // 活动的名称
    private String name;
    // 活动的详细信息或描述，
    private String info;
    // 活动的类型，
    private String type;
    // 活动期间的折扣，
    private Integer discount;
    // 活动相关的优惠券或代金券列表
    private float vouchers;
    // 活动开始的时间
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm")

    private LocalDateTime beginTime;
    // 活动结束的时间
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm")

    private LocalDateTime endTime;
    // 活动的当前状态，例如激活、即将开始、已结束等
    private String status;

    // 创建时间
    private Date createTime;
    // 更新时间
    private Date updateTime;

    // 创建人
    private String createBy;
    // 更新人
    private String updateBy;

    private String code;

    // Lombok会自动生成所有属性的getter和setter方法
    // Lombok的@EqualsAndHashCode和@ToString注解会生成equals、hashCode和toString方法



}
